home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr37
/
list224.zip
/
LISTSERV.WCX
(
.txt
)
< prev
next >
Wrap
Wildcat! WCX
|
1995-03-13
|
11KB
|
621 lines
'! Decompiled with wccNosy version 4.20f (freeware)
'! Input File: in.wcx 10741 bytes 01/29/123 04:30:20pm
'! Code Segment Size :6818 bytes
'! Data Segment Size :5739 bytes
'! String Segment Size:3923 bytes
'! Compiled with WCC version 4.01
Type Type28
s0 As String*70
s70 As String*8
i78 As Integer
End Type
Type Type27
Filler0(1 To 4) As Byte
w4 As Word
End Type
Type Type26
Filler0(1 To 661) As Byte
w661 As Word
End Type
Dim b4463(1 To 70) As Byte
Dim i4533 As Integer
Dim l4535 As Long
Dim l4539 As Long
Dim s4543 As String
Dim s4547 As String
Dim s4551 As String
Dim i4555 As Integer
Dim t26_4557 As Type26
Dim mh5223 As MessageHeader
Dim s5543 As String*70
Dim t28_5613 As Type28
Dim l5701 As Long
Dim l5705 As Long
Dim i5709 As Integer
Dim s5711 As String
Dim s5715 As String
Dim i5719 As Integer
Dim i5721 As Integer
Dim i5723 As Integer
Dim i5725 As Integer
Dim i5727 As Integer
Dim i5729 As Integer
Dim d5731 As Date
Dim t5733 As Time
Dim i5737 As Integer
Dim l65530_ As Long
Dim i65534_ As Integer
Cls
Print "@0F@Listserv "; "v2.24"; " (03/13/95) - by Pete Nelson"
Print "Terminal One BBS (510) 689-9528"
Print "Author: pete@terminal-one.com"
Print
If Exists("listserv.key") Then
Open "listserv.key" For Random As 1 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
Get 1, 1, b4463 '! 70 bytes
Print "@0E@Registered to@07@:@0A@ ";
162 For i4533 = 1 To 70 Step 1
Print Chr(b4463(i4533) - 120);
Next
276 Locate 7, 19
Print "@0F@|";
Delay 0.001
Locate 7, 19
Print "@0C@T@0F@\";
Delay 0.001
Locate 7, 20
Print "@0C@h@0F@-";
Delay 0.001
Locate 7, 21
Print "@0C@a@0F@/";
Delay 0.001
Locate 7, 22
Print "@0C@n@0F@|";
Delay 0.001
Locate 7, 23
Print "@0C@k@0F@\";
Delay 0.001
Locate 7, 24
Print "@0C@s@0F@-";
Delay 0.001
Locate 7, 25
Print "@0C@ @0F@/";
Delay 0.001
Locate 7, 26
Print "@0C@f@0F@|";
Delay 0.001
Locate 7, 27
Print "@0C@o@0F@\";
Delay 0.001
Locate 7, 28
Print "@0C@r@0F@-";
Delay 0.001
Locate 7, 29
Print "@0C@ @0F@/";
Delay 0.001
Locate 7, 30
Print "@0C@s@0F@|";
Delay 0.001
Locate 7, 31
Print "@0C@u@0F@\";
Delay 0.001
Locate 7, 32
Print "@0C@p@0F@-";
Delay 0.001
Locate 7, 33
Print "@0C@p@0F@/";
Delay 0.001
Locate 7, 34
Print "@0C@o@0F@|";
Delay 0.001
Locate 7, 35
Print "@0C@r@0F@\";
Delay 0.001
Locate 7, 36
Print "@0C@t@0F@-";
Delay 0.001
Locate 7, 37
Print "@0C@i@0F@/";
Delay 0.001
Locate 7, 38
Print "@0C@n@0F@|";
Delay 0.001
Locate 7, 39
Print "@0C@g@0F@\";
Delay 0.001
Locate 7, 40
Print "@0C@ @0F@-";
Delay 0.001
Locate 7, 41
Print "@0C@L@0F@/";
Delay 0.001
Locate 7, 42
Print "@0C@i@0F@|";
Delay 0.001
Locate 7, 43
Print "@0C@s@0F@\";
Delay 0.001
Locate 7, 44
Print "@0C@t@0F@-";
Delay 0.001
Locate 7, 45
Print "@0C@s@0F@/";
Delay 0.001
Locate 7, 46
Print "@0C@e@0F@|";
Delay 0.001
Locate 7, 47
Print "@0C@r@0F@\";
Delay 0.001
Locate 7, 48
Print "@0C@v@0F@-";
Delay 0.001
Locate 7, 49
Print "@0C@!@0F@ ";
Delay 0.001
Locate 7, 50
Print
Print
Close 1
End If
1060 Delay 1
i5719 = 0
i5721 = 0
i5723 = 0
i5725 = 0
i5727 = 0
i5729 = 0
CurrentDate d5731
CurrentTime t5733
Open "listserv.log" For Append As 9
Print #9, "* Listserv started on "; FormatDate(d5731, "mm/dd/yy"); " at "; FormatTime(t5733, "hh:mm:ss te"); " *"
Close 9
MorePrompt(0)
If Not Exists("listserv.cfg") Then
Print
Print "@0C@You need to create the LISTSERV.CFG file first!"
Print
Else
1231 Open "listserv.cfg" For Input As 1
Input #1, l4535
Reset
i4555 = t26_4557.w661
Join l4535
If Not Exists("listserv.dat") Then
Print
Print "@0C@You need to run Listutil to create a list of your mailing lists."
Else
1318 Open "listserv.ptr" For Input As 1
Input #1, l4535
Reset
mh5223.Number = l4535
Do
1363 Reset
If Not GetNextMessage(mh5223) Then
GoTo 6431
End If
1386 l5701 = 1
l5705 = 1
s4543 = mh5223.Subject
l4539 = mh5223.Number
mh5223.Subject = UCase(mh5223.Subject)
mh5223.To = UCase(mh5223.To)
Do
1474 Reset
If mh5223.To = "LISTSERV" Then
If (mh5223.Flags And 512) <> 0 Then
Delay 0.001
Print "@0C@Skipping message to @0F@LISTSERV@0C@ flagged as deleted @0B@(@07@#@0E@"; mh5223.Number; "@0B@)@0C@..."
GoTo 1363
End If
1565 GoSub 5981
End If
1571 Open "listserv.dat" For Random As 1 Len = 80 '! This value should probably be replaced with a "SizeOf" expression
Get 1, l5701, t28_5613 '! 80 bytes
If mh5223.To = t28_5613.s0 Then
If (mh5223.Flags And 512) <> 0 Then
Delay 0.001
Print "@0C@Skipping message to @0F@"; t28_5613.s0; "@0C@ flagged as deleted @0B@(@07@#@0E@"; mh5223.Number; "@0B@)@0C@..."
Inc i5723
GoTo 1363
End If
1716 If mh5223.Subject = "" Then
Delay 0.001
Print "@0C@Skipping message with blank subject @0B@(@07@#@0E@"; mh5223.Number; "@0B@)@0C@..."
GoTo 1363
End If
1780 If mh5223.Subject = "SUB" Or mh5223.Subject = "SUBSCRIBE" Then
If t28_5613.i78 = 1 Or t28_5613.i78 = 2 Or t28_5613.i78 = 5 Then
l5705 = 1
Open t28_5613.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
Do
1910 Get 2, l5705, s5543 '! 70 bytes
If s5543 = mh5223.From Then
Delay 0.001
Print "@0F@"; s5543; "@0A@ is already subsribed to@0B@ "; t28_5613.s0; "@0A@."
GoTo 1363
End If
2002 Inc l5705
Loop Until l5705 > LOF(2)
Close 2
s5543 = mh5223.From
Open t28_5613.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
Put 2, LOF(2) + 1, s5543 '! 70 bytes
Close 2
Delay 0.001
Print "@0A@Subscribed@0F@ "; mh5223.From; "@0A@ to@0B@ "; t28_5613.s0; "@0A@."
Inc i5725
If Exists(t28_5613.s70 + ".add") Then
Delay 0.001
Print "@0D@Sending a thank you response...@0A@"
Inc i5721
Open "listtmpa.tmp" For Append As 2
Open t28_5613.s70 + ".add" For Input As 3
Do
2261 Input #3, s4551
Print #2, s4551
Loop Until EOF(3)
Print #2, ""
Print #2, "-----"
Print #2, "Processed with Listserv "; "v2.24"
Close 3
Close 2
mh5223.To = mh5223.From
mh5223.From = t28_5613.s0
mh5223.Subject = "Thanks for Subscribing!"
mh5223.Flags = 3
mh5223.Network = ""
AddMessage(mh5223, "listtmpa.tmp", "", 1213417543)
mh5223.Number = l4539
Open "listserv.log" For Append As 9
Print #9, " "; t28_5613.s0; ": sent 1 message"
Close 9
Kill "listtmpa.tmp"
End If
2507 GoTo 1363
End If
2513 Print "@0F@"; mh5223.From; " @0C@tried to subscribed to closed list@0B@ "; t28_5613.s0
Inc i5729
If Exists(t28_5613.s70 + ".cls") Then
Print "@0C@Sending them a notification message..."
Inc i5721
Delay 0.001
Open "listtmpa.tmp" For Append As 2
Open t28_5613.s70 + ".cls" For Input As 3
Do
2656 Input #3, s4551
Print #2, s4551
Loop Until EOF(3)
Print #2, ""
Print #2, "-----"
Print #2, "Processed with Listserv "; "v2.24"
Close 3
Close 2
mh5223.To = mh5223.From
mh5223.From = t28_5613.s0
mh5223.Subject = "Your subscription request"
mh5223.Flags = 3
mh5223.Network = ""
AddMessage(mh5223, "listtmpa.tmp", "", 1213417543)
Open "listserv.log" For Append As 9
Print #9, " "; t28_5613.s0; ": sent 1 message"
Close 9
mh5223.Number = l4539
Kill "listtmpa.tmp"
End If
2902 GoTo 1363
End If
2908 If mh5223.Subject = "UNSUBSCRIBE" Or mh5223.Subject = "UNSUB" Then
Open t28_5613.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
s5543 = " "
l5705 = 1
Do
3000 Get 2, l5705, s5543 '! 70 bytes
s5543 = UCase(s5543)
If s5543 = mh5223.From Then
s5543 = " "
Put 2, l5705, s5543 '! 70 bytes
GoTo 3110
End If
3086 Inc l5705
Loop Until l5705 > LOF(2)
3110 Close 2
Delay 0.001
Print "@0C@Unsubscribed@0F@ "; mh5223.From; "@0C@ from @0B@"; t28_5613.s0; "@0C@."
Inc i5727
If Exists(t28_5613.s70 + ".drp") Then
Delay 0.001
Print "@0D@Sending an unsubscription message..."
Inc i5721
Open "listtmpu.tmp" For Append As 2
Open t28_5613.s70 + ".drp" For Input As 3
Do
3273 Input #3, s4551
Print #2, s4551
Loop Until EOF(3)
Print #2, ""
Print #2, "-----"
Print #2, "Processed with Listserv "; "v2.24"
Close 2
Close 3
mh5223.To = mh5223.From
mh5223.From = t28_5613.s0
mh5223.Subject = "Unsubscription Request"
mh5223.Flags = 3
mh5223.Network = ""
AddMessage(mh5223, "listtmpu.tmp", "", 1213417543)
Open "listserv.log" For Append As 9
Print #9, " "; t28_5613.s0; ": sent 1 message"
Close 9
mh5223.Number = l4539
Kill "listtmpu.tmp"
End If
3519 GoTo 1363
End If
3525 If t28_5613.i78 = 5 Or t28_5613.i78 = 6 Then
If Not Exists(t28_5613.s70 + ".lst") Then
Print "@0C@You need to create a @0B@"; t28_5613.s70; ".LST@0C@ for@0F@ "; t28_5613.s0
End If
3623 Open t28_5613.s70 + ".lst" For Input As 5
Do
3655 Input #5, s4551
If UCase(Trim(s4551)) = UCase(mh5223.From) Then
GoTo 4690
End If
3699 Loop Until EOF(5)
Close 5
Print "@0F@"; mh5223.From; " @0C@is not allowed to post on @0B@"; t28_5613.s0
Inc i5729
If Exists(t28_5613.s70 + ".not") Then
Open "listtmpu.tmp" For Append As 2
Open t28_5613.s70 + ".not" For Input As 3
Do
3835 Input #3, s4551
Print #2, s4551
Loop Until EOF(3)
Print #2, ""
Print #2, "-----"
Print #2, "Processed wtih Listserv v2.24 for Wildcat v4"
Close 2
Close 3
mh5223.To = mh5223.From
mh5223.From = t28_5613.s0
mh5223.FromId = 0
mh5223.Subject = "Your message to " + t28_5613.s0
mh5223.Flags = 3
mh5223.Network = ""
AddMessage(mh5223, "listtmpu.tmp", "", 1213417543)
Open "listserv.log" For Append As 9
Print #9, " "; t28_5613.s0; ": sent 1 message"
Close 9
Kill "listtmpu.tmp"
mh5223.Number = l4539
Print "@0C@Sending them a notification message..."
Inc i5729
Delay 0.001
End If
4115 GoTo 1363
End If
4121 If t28_5613.i78 = 2 Or t28_5613.i78 = 4 Then
Open t28_5613.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
Do
4187 Get 2, l5705, s5543 '! 70 bytes
If s5543 = mh5223.From Then
Close 2
GoTo 4690
End If
4237 Inc l5705
Loop Until l5705 > LOF(2)
Close 2
Delay 0.001
Print "@0C@Skipping @0B@(@07@#@0E@"; mh5223.Number; "@0B@)@0C@. @0F@"; mh5223.From; "@0C@ is not a subscriber."
Inc i5723
If Exists(t28_5613.s70 + ".not") Then
Open "listtmpu.tmp" For Append As 2
Open t28_5613.s70 + ".not" For Input As 3
Do
4404 Input #3, s4551
Print #2, s4551
Loop Until EOF(3)
Print #2, ""
Print #2, "-----"
Print #2, "Processed wtih Listserv v2.24 for Wildcat v4"
Close 2
Close 3
mh5223.To = mh5223.From
mh5223.From = t28_5613.s0
mh5223.FromId = 0
mh5223.Subject = "Your message to " + t28_5613.s0
mh5223.Flags = 3
mh5223.Network = ""
AddMessage(mh5223, "listtmpu.tmp", "", 1213417543)
Open "listserv.log" For Append As 9
Print #9, " "; t28_5613.s0; ": sent 1 message"
Close 9
Kill "listtmpu.tmp"
mh5223.Number = l4539
Print "@0C@Sending them a notification message..."
Inc i5721
Delay 0.001
End If
4684 GoTo 1363
End If
4690 i5737 = 0
Kill "listserv.t2"
GetMessageText(mh5223.Number, "listserv.t2")
If Exists("listserv.flt") Then
Delay 0.001
Print "@0D@Checking for lines to filter..."
Open "listserv.tmp" For Output As 5
Open "listserv.t2" For Input As 6
Do
4793 i5709 = 0
Input #6, s5715
Open "listserv.flt" For Input As 7
Do
4826 Input #7, s5711
If UCase(s5711) = UCase(s5715) Then
i5709 = 1
End If
4862 Loop Until i5709 = 1 Or EOF(7)
Close 7
If i5709 = 0 Then
Print #5, s5715
End If
4912 Loop Until EOF(6)
Close 5
Close 6
Else
4939 CopyFile("listserv.t2", "listserv.tmp")
End If
4953 If Exists(t28_5613.s70 + ".sig") Then
Open "listserv.tmp" For Append As 2
Open t28_5613.s70 + ".sig" For Input As 3
Do
5031 Input #3, s4551
Print #2, s4551
Loop Until EOF(3)
Close 2
Close 3
End If
5068 Open "listserv.tmp" For Append As 2
Print #2, ""
Print #2, "-----"
Print #2, "Processed wtih Listserv v2.24 for Wildcat v4"
Close 2
Open t28_5613.s70 + ".dat" For Random As 2 Len = 70 '! This value should probably be replaced with a "SizeOf" expression
l5705 = 1
s4547 = mh5223.From
Do
5176 Get 2, l5705, s5543 '! 70 bytes
5191 Do While s5543 = " "
Inc l5705
Get 2, l5705, s5543 '! 70 bytes
If EOF(2) Then
Open "listserv.log" For Append As 9
Print #9, " "; t28_5613.s0; ": sent "; i5737; " messages"
Close 9
GoTo 1363
End If
5312 Loop
5318 mh5223.From = t28_5613.s0
If UCase(s5543) <> UCase(s4547) Then
mh5223.To = s5543
mh5223.Subject = s4543
mh5223.Flags = 3
mh5223.Network = ""
Delay 0.001
Print "@0A@Sending '@0F@"; mh5223.Subject; "@0A@' to @0B@"; mh5223.To; " @0A@on@0E@ "; t28_5613.s0
Inc i5721
Inc i5719
Inc i5737
AddMessage(mh5223, "listserv.tmp", "", 1213417543)
mh5223.Number = l4539
End If
5532 Inc l5705
Loop Until l5705 > LOF(2)
mh5223.To = s4547
mh5223.Subject = "Your message to " + t28_5613.s0
mh5223.Flags = 3
mh5223.Network = ""
Open "sntlst.msg" For Output As 9
CurrentTime t5733
Print #9, "Your message '"; s4543; "' was sent out to "
Print #9, t28_5613.s0; " on "; FormatDate(d5731, "mm/dd/yy"); " at "; FormatTime(t5733, "hh:mm:ss te"); "."
Print #9, ""
Print #9, "-----"
Print #9, "Processed wtih Listserv v2.24 for Wildcat v4"
Close 9
AddMessage(mh5223, "sntlst.msg", "", 1213417543)
Kill "sntlst.msg"
mh5223.Number = l4539
Open "listserv.log" For Append As 9
Print #9, " "; t28_5613.s0; ": sent "; i5737; " message(s)"
Close 9
GoTo 1363
End If
5876 l5701 = l5701 + 1
If l5701 > LOF(1) Then
GoTo 1363
End If
5914 Loop
Delay 0.001
Print "@0C@Skipping @0F@"; mh5223.Subject; " @0B@(@07@#@0E@"; mh5223.Number; "@0B@)@0C@..."
Inc i5723
Return
5981 If (UCase(mh5223.Subject) = "HELP" And Exists("listserv.hlp")) = 0 Then GoTo 6174
Print "@0A@Found Help Request for Listserv"
Print "@0D@Sending LISTSERV.HLP to @0F@"; mh5223.From
Delay 0.001
mh5223.To = mh5223.From
mh5223.From = "LISTSERV"
mh5223.Subject = "Auto Response from Listserv"
mh5223.Flags = 3
mh5223.Network = ""
AddMessage(mh5223, "listserv.hlp", "", 1213417543)
mh5223.Number = l4539
Loop
6174 s4551 = ""
Kill "templist.sub"
GetMessageText(mh5223.Number, "templist.sub")
Open "templist.sub" For Input As 5
Do
6229 Input #5, s4551
s4551 = UCase(s4551)
i5709 = 0
i5709 = InStr(s4551, "UNSUBSCRIBE")
If i5709 = 1 Then
s4551 = Mid(s4551, 13, 1213417543)
mh5223.To = s4551
mh5223.Subject = "UNSUBSCRIBE"
Return
End If
6333 i5709 = 0
i5709 = InStr(s4551, "SUBSCRIBE")
If i5709 = 1 Then
s4551 = Mid(s4551, 11, 1213417543)
mh5223.To = s4551
mh5223.Subject = "SUBSCRIBE"
Return
End If
6419 Loop Until EOF(5)
Return
End If
End If
6431 Print
Delay 0.001
Print "@0C@Done sending messages @07@-@0C@ Cleaning up..."
Delay 0.001
CurrentDate d5731
CurrentTime t5733
Open "listserv.log" For Append As 9
Print #9, " Mailing List Messages Sent: "; i5719
Print #9, " Total Messages Sent: "; i5721
Print #9, " New Subscribers: "; i5725
Print #9, " Unsubscribers: "; i5727
Print #9, " Messages Skipped: "; i5723
Print #9, " Unauthorized Messages: "; i5729
Print #9, "* Listserv finished on "; FormatDate(d5731, "mm/dd/yy"); " at "; FormatTime(t5733, "hh:mm:ss te"); " *"
Print #9, ""
Close 9
Kill "listtemp.tmp"
Kill "listserv.tmp"
Kill "listserv.t2"
Kill "listserv.ptr"
Kill "templist.sub"
Open "listserv.ptr" For Output As 3
Print #3, mh5223.Number
Reset
Delay 0.001
Print "@0D@Rejoining original conference..."
Join i4555
Print
Print "@1F@ Thanks for using Listserv "; "v2.24"; "! @07@ "
Print